home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / pctj0287.arc / MLOOPMAC.ASM < prev    next >
Assembly Source File  |  1986-12-16  |  437b  |  28 lines

  1. ; Input:
  2. ;    P1 = label to jump to.
  3. MLOOP    macro    P1
  4.     local    skip_label, skip_label1, skip_label2
  5. ifdef P1
  6.   if (P1 LE $)
  7.     if (($ - P1 + 2) LE 128)
  8.     loop    P1        ;backward short jump
  9.     else
  10.     dec    cx
  11.     jz    skip_label
  12.     jmp    P1
  13. skip_label:
  14.     endif
  15.   else
  16.     dec    cx        ;forward jump (pass 2)
  17.     jz    skip_label1
  18.     jmp    P1
  19. skip_label1:
  20.   endif
  21. else
  22.     dec    cx        ;forward jump (pass 1)
  23.     jz    skip_label2
  24.     jmp    P1
  25. skip_label2:
  26. endif
  27.     endm
  28.